iT邦幫忙

2024 iThome 鐵人賽

DAY 1
0

如果我知道寫程式可以解決人的問題,我會更早開始成為一位工程師。

為了解決人的問題,我選擇成為一名軟體工程師。最初作為 Java 後端開發,我很快意識到,光寫程式碼是不夠的,還有程式碼的交付與運行。而這份好奇心促使我在 2018 年進入 DevOps/SRE 領域。

Kubernetes 是現代基礎設施的核心技術,因此我最近再次系統性地學習 Kubernetes。在此過程中,我依賴 Google Research、kubernetes.io、Kubernetes Enhancement Proposals 以及邱牛的部落格等資源,深入理解了許多概念和實踐。這些靈感促使我整理並分享這些收穫,也是我參加鐵人賽的主要動機之一。

除了受到這些靈感驅動,我在職涯中也從社群中吸取了大量養分。儘管沒有發表技術文章的經驗,但為了分享這些有趣的想法給社群,我決定參加鐵人賽。這不僅是技術寫作的挑戰,也是一次重新思考技術寫作目的的機會。在後 LLM 時代,我開始反思,技術寫作除了傳遞知識之外,是否還能有更深的意義。因此,參加鐵人賽是我促使自己深入思考的一個方式。

對我來說,學習就是思考。而這次重新學 Kubernetes,就是一次重新思考的機會,正因如此,我選了 "Think Again Kubernetes" 作為我這次參賽的主題。

在沒有發表技術文章的經驗下,參加鐵人賽是一項極具挑戰的任務,為了提高成功的機會,我開始尋找榜樣。首先,我從對我影響最深的幾位作家著手,包括 Kent Beck、Martin Fowler 和 Robert C. Martin。

然而,最終我選擇了林信良林前輩作為我的榜樣。

選擇林前輩作為我的榜樣,是因為在早期學習 Java 的過程中,我從他的部落格“良葛格學習筆記”中獲得了大量啟發。後來,我在天瓏書籍買了一本他的《Java SE 8 技術手冊》,這本書陪伴了我很長時間,即使後來轉向其他技術領域,每當我需要學習新技術時,仍會回到他的部落格尋找靈感。每次逛天瓏書店,看到熟悉的白色封面,總會讓我感到安心,而我寫作的目的,就是想要分享這份感受,所以我選擇林前輩作為榜樣。

對我來說,寫作這些文章就像精心準備一份禮物,我希望這份禮物不僅能分享我的經驗與感受,也能激發你對技術學習的熱情。無論結果如何,我都希望你能與我一起享受這個探索和學習的過程。


我的目標讀者

我希望分享的是 Kubernetes 中有趣的細節,讓讀者每次閱讀這些文章都能獲得新的啟發,並且享受學習的過程。

經由閱讀這個系列文章,你將思考

Process 到 Kubernetes 的演化:我們會從作業系統角度開始分析容器技術的演變,並介紹一些 Google Research 關於 Kubernetes 的公開論文。

Kubernetes 的核心概念:我們會介紹 Pod 以及 Control Loop

Kubernetes 的組件:探討 Kubernetes 的核心組件以及實務上與它們的互動。

討論一些有趣的 Kubernetes Pattern。

不會包含的部分

如何開發 Containerized Application

如何考取 Certified Kubernetes Administrator

由於本系列文章目的是刻意挖掘 Kubernetes 有趣的細節,而不是傳遞實務上需要的完整知識,在這個前提下,寫作的目標讀者下列五題至少可以回答兩題者,如果這些問題對你來說還太過陌生,我強烈建議在閱讀本系列之前,先找其他更加完整的資料。

自我檢測的五個問題

  1. Pod 跟 Container 之間的關係是什麼?是一個 Pod 可以包含多個 Container,還是一個 Container 可以包含多個 Pod?

  2. 要啟動一個 Nginx Pod,你執行 kubectl run --image nginx my-nginx。這時會傳送請求到 control plane 的 API server 還是 data plane 的 kubelet?

  3. 有兩個 Pods,分別為 Pod A(由 Deployment 建立)和 Pod B(管理員直接建立)。刪除這兩個 Pods 後,Kubernetes 會重新啟動哪一個?

  4. 一個服務需要接受來自 Kubernetes 之內的流量,通常會選擇 ClusterIP 還是 NodePort?

  5. HTTP Path 定義在 Ingress 還是 Service?


下一篇
Process, Container, Docker (上)
系列文
Think Again Kubernetes31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言